package cn.kgc.itrip.service.hotelOrderService;

import cn.kgc.itrip.dto.Dto;
import cn.kgc.itrip.vo.order.ItripAddHotelOrderVO;
import cn.kgc.itrip.vo.order.ItripModifyHotelOrderVO;
import cn.kgc.itrip.vo.order.ItripSearchOrderVO;
import cn.kgc.itrip.vo.order.ValidateRoomStoreVO;

public interface HotelOrderService {

    //生成订单前,获取预订信息
    Dto addNewOrder(ValidateRoomStoreVO validateRoomStoreVO, String token, String userAgent)throws Exception;

    //生成订单
    Dto addHotelOrder(ItripAddHotelOrderVO itripAddHotelOrderVO, String token, String userAgent)throws Exception;

    // 修改订房日期验证是否有房
    Dto valiDateRoomStore(ValidateRoomStoreVO validateRoomStoreVO, String token, String userAgent)throws Exception;

    //根据订单ID查看个人订单详情
    Dto findPersonalOrderInfo(String orderId, String token, String userAgent)throws Exception;

    //根据订单ID查看个人订单详情-房型相关信息
    Dto findPersonalOrderRoomInfo(String orderId, String token, String userAgent)throws Exception;

    Dto findPersonalOrderList(ItripSearchOrderVO itripSearchOrderVO, String token, String userAgent)throws Exception;

    //根据订单ID获取订单信息
    Dto findOrderById(Integer orderId)throws Exception;

    //修改订单的支付方式和状态
    Dto midOrderStatusAndPayType(ItripModifyHotelOrderVO itripModifyHotelOrderVO,String token,String userAgent)throws Exception;

    //支付成功后查询订单信息
    Dto findSuccessOrderInfo(Integer id, String token, String userAgent)throws Exception;
}
